<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台（PHP版）
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码，建议反馈是我们前进的动力
// | 开源版本可自由商用，可去除界面版权logo
// | gitee下载：https://gitee.com/likeshop_gitee/likeadmin
// | github下载：https://github.com/likeshop-github/likeadmin
// | 访问官网：https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------

namespace app\common\model;


use app\common\model\BaseModel;
use app\common\model\room\department\Department;
use app\common\model\room\department\RoomDepartment;
use app\common\model\room\RoomApartment;
use app\common\model\room\RoomHospital;

/**
 * 楼栋模型
 * Class Building
 * @package app\common\model
 */
class Building extends BaseModel {

    protected $name = 'building';

    public static function getIsMonthBegin($val = null) {
        $arr = [
            '0' => '已初始化',
            '1' => '已更新到房间',
        ];
        if (is_numeric($val)) {
            return $arr[$val] ?? '';
        }
        return $arr;
    }

    public function device() {
        return $this->hasMany(Device::class, 'bid', 'id');
    }

    public function department() {
        return $this->hasMany(RoomDepartment::class, 'bid', 'id');
    }

    public function roomHospitals() {
        return $this->hasMany(RoomHospital::class, 'bid', 'id');
    }

    public function roomApartments() {
        return $this->hasMany(RoomApartment::class, 'bid', 'id');
    }

    /**
     * @notes 关联院区
     * @return \think\model\relation\HasOne
     * @author likeadmin
     * @date 2024/02/24 14:42
     */
    public function campus() {
        return $this->hasOne(\app\common\model\Campus::class, 'id', 'cid');
    }

    public function getIsMonthBeginTextAttr($value, $data)
    {
        return self::getIsMonthBegin($data['is_month_begin']);
    }

}
